Location-based website hosting optimization

ABSTRACT

A hosting provider may host a website at a first hosting location based on initial business information received from a hosting customer, perhaps while the hosting customer created an account. The initial business information may include, as non-limiting examples, whether the business is a local or non-localized business, business addresses and/or registered domain names. A domain name, particularly if it resolves to the website, may be analyzed for incorporated words, spelling, characters and/or top-level domain that may point to, or be more commonly used in, one or more geographical regions. The website may be moved to a second location based on the initial business information combined with subsequently collected business information, such as, as non-limiting examples, updated address information, marketing campaigns aimed at particular locations and/or based on the originating location of traffic to the website.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.15/588,492 entitled “LOCATION-BASED WEBSITE HOSTING OPTIMIZATION” andfiled on May 5, 2017, which is a continuation of U.S. patent applicationSer. No. 15/136,420 entitled “LOCATION-BASED WEBSITE HOSTINGOPTIMIZATION” and filed on Apr. 22, 2016, which is a continuation ofU.S. patent application Ser. No. 14/254,776 entitled “METHOD FORLOCATION-BASED WEBSITE HOSTING OPTIMIZATION” and filed on Apr. 16, 2014.

FIELD OF THE INVENTION

The present invention generally relates to the optimization of hostingarrangements for websites serving traffic originating from a number ofdifferent locations based on business information regarding the hostingcustomer and/or from web traffic flow to the website.

SUMMARY OF THE INVENTION

The present invention provides methods for moving a website from a firstlocation to a second location that may provide faster response timesand/or other benefits for Internet users visiting the website. Themethod may start by collecting at a first time, by one or more hardwareservers, a first business information from a hosting customer. The firstbusiness information may be received, as a non-limiting example, as partof a customer account creation process.

A first hosting location, in a plurality of hosting locations, may beselected based, at least in part, on the first business informationregarding the hosting customer. The website may be hosted for thehosting customer on one or more hosting servers at the first hostinglocation by a hosting provider.

A second business information may be collected at a second time, by theone or more hardware servers, regarding the hosting customer. Asnon-limiting examples, the second business information may compriseinformation received when the hosting customer updates the hostingcustomer's account (such as by changing the hosting customer's businessaddress) or information received regarding a new marketing campaignaimed at customers that reside closer to the second hosting locationthan the first hosting location. Additional business information may becollected continuously, periodically (such as daily) or whenever atriggering event occurs (such as the hosting customer updating thehosting customer's account information).

Based, at least in part, on the second business information, a secondhosting location may be selected that is different from the firsthosting location. The website may either be replicated (the website isin both locations) or moved so as to be hosted on one or more hostingservers at the second hosting location.

In some embodiments, the business information may comprise a domain nameregistered to the hosting customer. The domain name, particularly if thedomain name resolves (points to) the website, may be used to select thefirst or the second location. Domain name(s) registered to the hostingcustomer that do not resolve to the website may either be ignored oralso analyzed as part of the business information. Domain name(s) thatresolve to the website may be analyzed by looking at: 1) the words, 2)the spelling of the words, 3) the characters in the domain name, as wellas 4) the top level domain (domain name extension) to determine alanguage or a geographical region that is consistent with the domainname.

In some embodiments, the business information may comprise a type ofbusiness associated with the website. As non-limiting examples, the typeof business may refer to whether the business is local, i.e., servesmainly local customers (such as a restaurant, dry cleaner, automechanic, etc.) or whether the business is non-localized, i.e., servescustomers from any location (such as manufacturers and/or distributorsthat sell shippable goods/products or websites that offer Software as aService (SaaS) products). A local business may be weighted to have itshosting location for its website near its place of business. Anon-localized business may be weighted to have its hosting location forits website near where most of its web traffic flow originates from,i.e., where most of its customers are located.

In some embodiments, the hosting provider may collect website trafficdata to the website to determine where most of the incoming trafficoriginates. The decision on whether to move a website and, if thewebsite is to be moved, where the new hosting location should be, may bebased, at least in part, on the website traffic data to the website. Insome embodiments, the first and/or second hosting locations may bedetermined based on a combination of business information and websitetraffic data to the website.

The above features and advantages of the present invention will bebetter understood from the following detailed description taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system that illustrates a website at afirst location for practicing the present invention.

FIGS. 2A-2B are screenshot illustrating example user interface of thepresent disclosure.

FIG. 3 is a block diagram of the system that illustrates the website ata second location for practicing the invention.

FIGS. 4-7 are flow diagrams of example methods for practicing theinvention.

DETAILED DESCRIPTION

The present inventions will now be discussed in detail with regard tothe attached drawing figures that were briefly described above. In thefollowing description, numerous specific details are set forthillustrating the Applicant's best mode for practicing the invention andenabling one of ordinary skill in the art to make and use the invention.It will be obvious, however, to one skilled in the art that the presentinvention may be practiced without many of these specific details. Inother instances, well-known machines, structures, and method steps havenot been described in particular detail in order to avoid unnecessarilyobscuring the present invention. Unless otherwise indicated, like partsand method steps are referred to with like reference numerals.

FIG. 1 is a block diagram of a system that may be used to practice thepresent invention. A computer network 150 may be a collection of linksand nodes (e.g., multiple computers and/or other devices connectedtogether) arranged so that data may be passed from one part of thecomputer network 150 to another part of the computer network 150. Thecomputer network 150 may span the entire world and allow communicationfrom any point in the world to any other point in the world where thecomputer network 150 exists. Examples of computer networks 150 includethe Internet, the public switched telephone network, the global Telexnetwork, computer networks (e.g., an intranet, an extranet, a local-areanetwork, or a wide-area network), wired networks, and wireless networks.

The Internet is a worldwide network of computers and computer networksarranged to allow the easy and robust exchange of information betweenwebsites 115 on hardware servers 101 and Internet users 140 on clientcomputers. Hundreds of millions of people around the world have accessto client computers connected to the Internet via Internet ServiceProviders (ISPs).

Content providers may place multimedia information (e.g., text,graphics, audio, video, animation, and other forms of data) at specificlocations on the Internet referred to as websites 115. The combinationof all the websites 115 and their corresponding web pages on theInternet is generally known as the World Wide Web (WWW) or simply theWeb.

For Internet users 140 and businesses alike, the Internet continues tobe increasingly valuable. More people use the Web for everyday tasks,from social networking, shopping, banking, and paying bills to consumingmedia and entertainment than ever before. E-commerce is growing, withbusinesses delivering more services and content across the Internet,communicating and collaborating online, and inventing new ways toconnect with each other.

Prevalent on the Internet are multimedia websites 115, some of which mayoffer and sell goods and services to individuals and organizations.Websites 115 may consist of a single webpage, but typically consist ofmultiple interconnected and related web pages. Websites 115, unless verylarge and complex or have unusual traffic demands, typically reside on asingle hardware server 101 and are prepared and maintained by a singleindividual or entity (although websites 115 residing on multiplehardware servers 101 is certainly possible and even necessary in somecases). Menus, links, tabs, etc. on the website 115 may be used to movebetween different web pages within the website 115 or to move to anentirely different website.

Websites 102, 115 may be created using HyperText Markup Language (HTML)to generate a standard set of tags that define how the web pages for thewebsites 102, 115 are to be displayed. Internet users 140 may accesscontent providers' (such as businesses) websites 102, 115 using softwareknown as an Internet browser, such as MICROSOFT INTERNET EXPLORER,MOZILLA FIREFOX, or GOOGLE CHROME. After the browser has located thedesired webpage, the browser requests and receives information from thewebpage, typically in the form of an HTML document, and then displaysthe webpage content for the Internet user 140 on the client computerusing the browser. The Internet user 140 may then view other web pagesat the same website 102, 115 or move to an entirely different websiteusing the browser.

Some hosting customers 130, typically those that are larger and moresophisticated, may provide their own hardware server(s) 101, software,and connections to the Internet. But many hosting customers 130 eitherdo not have the resources available or do not want to create andmaintain the infrastructure necessary to host their own websites 115. Toassist such individuals (or entities), hosting providers 100 exist thatoffer website hosting services on one or more hardware servers 101 andhosting servers 170. These hosting providers 100 typically provide thehosting servers 170, software, and electronic communications necessaryto connect multiple websites 115 to a network 150, such as the Internet.A single hosting provider may literally host thousands of websites 115on one or more hosting servers 170.

Browsers are able to locate specific websites 115 because each website115, resource, and computer on the Internet has a unique InternetProtocol (IP) address. Presently, there are two standards for IPaddresses. The older IP address standard, often called IP Version 4(IPv4), is a 32-bit binary number, which is typically shown in dotteddecimal notation, where four 8-bit bytes are separated by a dot fromeach other (e.g., 64.202.167.32). The notation is used to improve humanreadability. The newer IP address standard, often called IP Version 6(IPv6) or Next Generation Internet Protocol (IPng), is a 128-bit binarynumber. The standard human readable notation for IPv6 addresses presentsthe address as eight 16-bit hexadecimal words, each separated by a colon(e.g., 2EDC:BA98:0332:0000:CF8A:000C:2154:7313).

IP addresses, however, even in human readable notation, are difficultfor people to remember and use. A Uniform Resource Locator (URL) is mucheasier to remember and may be used to point to any computer, directory,or file on the Internet. The browser is able to access a website 115 onthe Internet through the use of a URL. The URL may include a HypertextTransfer Protocol (HTTP) request combined with the website's 115Internet address, also known as the website's 115 domain name. Anexample of a URL with a HTTP request and domain name is:http://www.companyname.com. In this example, the “http” identifies theURL as a HTTP request and the “companyname.com” is the domain name.

Domain names are much easier to remember and use than theircorresponding IP addresses. The Internet Corporation for Assigned Namesand Numbers (ICANN) approves some Generic Top-Level Domains (gTLD) anddelegates the responsibility to a particular organization (a “registry”)for maintaining an authoritative source for the registered domain nameswithin a TLD and their corresponding IP addresses. For certain TLDs(e.g., .biz, .info, .name, and .org) the Registry is also theauthoritative source for contact information related to the domain nameand is referred to as a “thick” Registry. For other TLDs (e.g., .com and.net) only the domain name, registrar identification, and name serverinformation is stored within the Registry, and a Registrar is theauthoritative source for the contact information related to the domainname. Such Registries are referred to as “thin” registries. Most gTLDsare organized through a central domain name Shared Registration System(SRS) based on their TLD.

Domain names may comprise one or more words which may be from aparticular language or used more commonly in a particular geographicalregion. The spelling of the word(s) and/or characters used in the domainname may also point to a particular language or geographic region. Thetop-level domain (TLD or domain name extension), particularly if it is acountry code top-level domain (ccTLD), may also be used to determine aparticular language or geographical region consistent with the domainname.

The Internet user 140 may use a client computer, such as, asnon-limiting examples, a cell phone, PDA, tablet, laptop computer, ordesktop computer to access a website 115 via a computer network 150,such as the Internet.

The website 115 may have one or more web pages and be hosted or operatedfrom one or more hosting servers 170. Any type of hosting server 170,now known or later developed, may be used to practice the invention. Thehardware servers 101 and hosting servers 170 may include, as anon-limiting example, one or more Dell PowerEdge(s) rack server(s), IBMblade server(s), Intel tower server(s) and/or Cisco server(s), althoughother types of hardware servers 101 and hosting servers 170,combinations of one or more hardware servers 101 and hosting servers170, server software and applications may also be used to practice theinvention.

A database 160, run on the hardware servers 101 and stored on a storagemedium, may also be used to practice the invention. The database 160 maystore one or more databases and/or files. A database 160 is an organizedcollection of data. The data are typically organized to model relevantaspects of reality in a way that supports processes requiring thisinformation. Database management systems (DBMSs) are specially designedapplications that interact with the database 160 to capture and analyzedata. A general-purpose database management system (DBMS) is a softwaresystem designed to allow the definition, creation, querying, updating,and administration of databases. As non-limiting examples, DBMSs mayinclude MySQL, MariaDB, PostgreSQL, SQLite, Microsoft SQL Server,Oracle, SAP, dBASE, FoxPro, IBM DB2, LibreOffice Base and FileMaker Pro.

Any type of database 160 on the one or more hardware servers 101 may beused to practice the current invention, but the database 160 ispreferably able to store at least business information 104 for one ormore hosting customers 130 and website traffic data 180.

A hosting customer 130 may create a customer account 103 that willcomprise business information 104, stored in the database 160, regardingthe hosting customer 130 and/or the business of the hosting customer130. Each hosting customer 130 preferably has his/her own customeraccount 103 and stored business information 104. In addition, the systemmay gather business information 104 regarding the hosting customer 130by searching the computer network 150 for available public and privaterecords. FIG. 1 is a block diagram of a system that illustrates thewebsite 115 of the hosting customer 130 at a first location 110.

The business information collected and analyzed by the present systemand method may include any information associated with the customerand/or the customer's business that may be useful in identifying one ormore optimal or preferred locations for hosting the customer's website115. In one implementation, relatively basic information, such as thecustomer's physical location (e.g., as determined by geolocationtechniques based upon the customer's IP address or by an analysis of alocation of a mobile device of the customer) or the customer's home orbusiness mailing address may be used to determine a suitable hostinglocation—in such a case it may be desirable to provide hosting from alocation as close to the customer's location as possible. This may beparticularly true if the customer's business tends to serve localcustomers (e.g., the customer's business provides local services orproducts). Similar information that may also be analyzed include apreferred language and/or selected locale for the user, which may all beuseful in assisting in the determination of a location of a particularcustomer and/or the customer's business. Such language and/or localepreferences may be selected by the user as part of an accountconfiguration process, or otherwise entered via a suitable userinformation modification interface.

In such a case, by providing hosting services that are located nearbythe customer and, consequentially, the customer's own customers,visitors to the website 115 are more likely to see good performance whenaccessing website 115 than if website 115 were to be hosting in a remotegeographical location.

Sometimes, in addition to the customer's own location, the businessinformation that is used to determine an optimized hosting location forthe website 115 will be derived via an analysis of the traffic visitingthe customer's website 115. For example, even if the customer is locatedin a first location, the customer's business may see a large number ofcustomers in a second location. For example, a company selling noveltycactus in Phoenix, Ariz. may not have many customers in Arizona.Instead, the business may have a large number of customers in the midwest or in another country. For such a business, the traffic visitingthe company's website will originate from the geographical location inwhich the company's customers are also located.

In that case, it may be possible to analyze traffic flow to the website115 to determine an optimized hosting location that is well suited toserving content in response to the majority of traffic to website 115.In the present example, therefore, even though the customer is locatedin Phoenix, the optimized hosting location may, in fact, be somewhere inthe mid west, where the hosting servers are in geographical proximity toa majority of the potential customers visiting the web site 115. Onealgorithm for determining such an optimized hosting location includesdetermining the geographical location from which a number of website 115visits originated. These locations can be determined using any suitableapproach—in one method an IP address from which a visit originated canbe translated into an address or GPS coordinates identifying aparticular location. Having identified the locations associated with anumber of website visits, a geographic center of those locations can becalculated. Having calculated the geographic center, it is possible toidentify an available hosting location that is closest to thatgeographical center. That hosting location may then be designated as anoptimized hosting location for the website 115. In some implementations,the geographical center can be weighted based upon a number of differentfactors including weighting the center towards the origination site ofwebsite traffic that generates the most revenue, weighting the centertowards the origination site of website traffic that occurs duringbusiness hours, and the like.

Unfortunately, when the location of hosting services is based on trafficthat has already visited the website, the selected location tends to notbe forward looking. Because it takes time to analyze existing website115 traffic and then, once an updated optimized hosting location isidentified, it takes time to move the website content to a new hostinglocation, it can take some time to respond to new website traffic from anew market to perform the described optimizations.

In order to provide forward-looking analysis of a customer's company andto make predictions regarding the optimized hosting locations for futurewebsite traffic, the business information can include additional typesand categories of data. For example, the business information mayinclude data describing the customer's ongoing advertising and marketingefforts. These may be entered into the business information manually, orcan be inferred based upon the customer's activities. For example, thecustomer may purchase some advertising services from hosting provider100 to promote the customer's website in a particular region (e.g.,South America). In that case, because the customer may see a largeincrease in website 115 traffic from the target region, the creation ofsuch a marketing campaign may indicate that an optimized hostinglocation for website 115 may be in that particular region. That way, asthe marketing campaign begins to have effect, new customers visiting thewebsite 115 from that region will experience good performance whilebrowsing the website 115.

In situations where hosting provider 100 has access to accountingrecords associated with the customer's business, the businessinformation may include product shipment and invoice records, making itpossible to identify the location of a number of the business'customers. In that case, the location of the customers themselves can beused to identify an optimized hosting location for the website 115.

The business information 104 and web traffic data 180 may be collectedon a per website basis, so that all data associated with the website 115can be combined together and analyzed as a whole. In otherimplementations, however, the business information 104 and web trafficdata 180, or at least portions thereof, can be collected on a perwebpage basis. This allows, for example, the web traffic to be analyzedseparately for different web pages belonging to website 115. This can beuseful because different web pages of website 115 may be popular indifferent regions.

For example, the various web pages may be rendered in differentlanguages, meaning that the web pages tend be accessed by individualsresiding in different countries. Additionally, if the different webpages depict different products, some products depicted on one webpagemay be popular in a first location, region or country, while differentproducts depicted on different web pages may be popular in differentlocations, regions, and countries.

Having identified an optimized hosting location for the website 115,hosting provider 100 can take any suitable action. This may involve, forexample, automatically moving the entire contents of the website 115from first hosting location 110 to the second hosting location 120. Thismay be done automatically, without any input from the customer, or onlywith the customer's consent.

When the customer first creates a customer account 10 with hostingprovider 100, the hosting provider 100 may provider the customer with anoption to select a desired hosting location for the customer's website115. At this time, the hosting provider 100 can analyze all informationprovided by the customer in order to make a determination of anoptimized hosting location for the customer. At this time, the analysismay be focused primarily on the contents of the customer's account 103because the customer's website 115 will not have seen much traffic.

After the customer has selected an initial hosting location for thewebsite 115, however, the hosting provider 100 may continually analyzethe business information 104 and website traffic data 180 associatedwith the website 115 to determine optimized hosting locations. If, inperforming this analysis, the hosting provider 100 identifies a newoptimized location for the website 115, the hosting provider 100 cannotify the customer of the same. The customer can then be provided withan option to host their website 115 on a server at or near the optimizedhosting location. To illustrate, FIG. 2A shows a user interface that maybe displayed for a customer by hosting provider 100, when hostingprovider 100 has determined that, due to an analysis of traffic visitingwebsite 115 that a second hosting location may be optimal for thewebsite 115. The user is presented with an option to move the website tohosting facilities in the optimized location.

When making a recommendation regarding a new optimized hosting location,the customer may be given the option of moving their website 115entirely to the new optimized hosting location. In that case, once themove is complete, the website 115 would only be served from the newhosting location and would no longer reside in the original location.Alternatively, the customer may be given the option of replicating thewebsite 115 at the new location. When replicated, the website 115 iscopied to, rather than moved to, the new optimized hosting location. Thedetermination of whether to move or replicate the website 115 orportions of the website 115 may involve the hosting provider 100 makingan automated analysis of the website 115. The analysis may determine thetype of the website 115 and then making recommendations based upon thattype. For example, if the website 115 is that of a business serving alocal community, the website 115 may be moved entirely to the optimizedhosting location. A website 115, however, that serve a more dispersedaudience (e.g., an audience at least partially located within theoriginal hosting location) may be replicated to the optimized hostinglocation. The recommendation to either move or replicate website 115 mayinclude other recommendations pertaining to the use of content deliverynetworks (CDNs) and other content delivery services. After replication,the website 115 will be hosted at both the original hosting location, aswell as the new optimized hosting location. FIG. 2B, as illustration,shows an example screenshot in which a user is presented with an optionto replicate website 115 in a new location based upon an analysis of anupcoming marketing campaign.

The hosting provider 100 may, in some cases, make a recommendation tomove or replicate only portions of the customer's website 115 to the newoptimized hosting location. For example, if the hosting provider's 100analysis indicates that a particular subset of the web pages making upwebsite 115 should be hosted in the new optimized hosting location, thecustomer may be given an option of move or replicate only those pages.Alternatively, upon identifying the new optimized hosting location, thehosting provider 100 may automatically move or replicate the subset ofweb pages as necessary. For example, only those portions of the website115 that are static may be moved or replicated to the optimized hostinglocation. In that case, portions of the website 115 (e.g., non-staticweb pages) that rely upon databases or other external systems that maybe nearby the original hosting location may not be moved or replicatedto the optimized hosting location.

In some cases, in addition to making recommendations regarding whetherto move or replicate content to the new optimized hosting location, thehosting provider 100 can, after having analyzed the business information104 and website traffic data 180, make recommendations regardingtechnological modifications to website 115 that, potentially incombination with hosting the content at the optimized hosting location,may improve the performance of the website 115. For example, followingthe analysis, hosting provider 100 may recommend that certain of the webpages making up the website 115 be converted from dynamic pages intostatic pages. Similarly, recommendations regarding the best encodingsfor multimedia (e.g., image and/or video encodings) can be provided bythe hosting provider 100. In one embodiment, an analysis of page loadtime from various customers' locations can be utilized to determinewhich web pages of website 115 should be converted to static content orotherwise modified to improve website 115 performance.

The recommendations provided by the hosting provider may be forpermanent or only temporary changes to website 115. For example, if thehosting provider 100 determines that a spike in traffic from aparticular region is only temporary, the recommendation to host all or aportion of the website 115 in that region may include a temporallimitation. For example, the hosting provider 100 may suggest that thewebsite 115 be hosted (e.g., via moving or replication of the website115) in the optimized hosting location for a period of time, such as aweek or a month. For example, access to the website 115 may be increasedby temporarily moving or replicating all or part of the website 115 forthe duration of a particular event (e.g., sporting event, politicalevent, news event) and moving the website 115 back to the originalhosting location upon the conclusion of the event (or following apredetermined time period following the event). The conclusion of theevent may be predictable—in the case of a sporting event, the conclusionmay be a known time and date. In some cases, though, the conclusion ofthe event is difficult to predict. In that case, the conclusion of theevent may need to be determined manually, or via an automated system(e.g., it may be possible to determine the conclusion of a dramatic newsevent by automatically monitoring news headlines for particular keywordsthat indicate the news event has concluded). In some embodiments, thewebsite 115 may be temporarily moved or replicated to other hostinglocations in a cyclical fashion (e.g., based upon seasons or holidaysthat routinely result in anomalous traffic patterns to the website 115).For example, an analysis of the historical traffic patterns to aparticular website 115 may indicate that, even though the website'sprimary customers are located in a first region, during a particularseasonal event or reoccurring time period there is a large traffic surgefrom a second region. Based upon that analysis, the hosting provider 100may recommend that the website 115 be moved or replicated to a hostinglocation nearby or within the second region during that season orreoccurring time period.

The present invention, therefore, provides methods for optimizing thehosting arrangement for a customer's website 115 that may involve movingthe hosting location of the website 115 from the first location 110 to asecond location 120 (shown in FIG. 3). By adjusting the hosting locationof the website, the server hosting the website may provide fasterresponse times and/or other benefits for Internet users 140 visiting thewebsite 115. Creating an efficient and friendly user experience isdesirable as an Internet user 140 is more likely to purchase goodsand/or servers from a fast, friendly and highly responsive website 115.

In some embodiments, the hosting provider 100, the first hostinglocation 110, and the second hosting location 120 are operated by thesame entity. For example, the first hosting location 110 and the secondhosting location 120 may be different facilities in different locationsthat are managed and operated by the same hosting provider 100. In otherembodiments, however, one or more of the hosting provider 100, the firsthosting location 110, and the second hosting location 120 can beoperated by separate entities. For example, the hosting provider 100 maybe operated by a first entity, while the first hosting location 110 andthe second hosting location 120 are operated by a second entity. In thatcase, the hosting provider 100 may provide a service accessible to thesecond entity (e.g., via an API) that the second entity may utilize todetermine which one of its available hosting locations is an optimizedhosting location. In some cases, each of the hosting provider 100, thefirst hosting location 110, and the second hosting location 120 areoperated by different entities.

FIG. 4 illustrates a method for practicing the invention. The method maystart by collecting at a first time, by one or more hardware servers101, a first business information 104 from a hosting customer 130. (Step300) The first business information 104 may be collected, as anon-limiting example, as part of a customer account 103 creationprocess. The first business information 104 may be stored in a database160. In some implementations, the business information 104 may begenerated over time as a by product of the day-to-day operations of thewebsite 115 and the customer's business.

The hosting provider 100 preferably has one or more hosting servers 170at a plurality of geographically separated hosting locations 110, 120.While any number of hosting locations 110, 120 and hosting servers 170may be used, in general, the more hosting locations 110, 120 and themore geographically separated the hosting locations 110, 120, thebetter.

A first hosting location 110, in the plurality of hosting locations 110,120, may be selected based, at least in part, on the first businessinformation 104 (stored in the database 160) regarding the hostingcustomer 130. (Step 301) The website 115 may be hosted for the hostingcustomer 130 on one or more hosting servers 170 at the first hostinglocation 110. (Step 302)

As discussed above, once of the first hosting location 110 isidentified, the customer's 130 website may be hosted at that locationautomatically. In other implementations, however, the customer 130 maybe provided a choice of a number of hosting locations, where the firsthosting location 110 is identified as a potentially optimized hostinglocation for the customer's website 115.

FIG. 5 illustrates another method for practicing the invention. In thisembodiment, one or more domain names registered to the hosting customer130 and preferably resolving or pointing to the hosting customer's 130website 115 may be analyzed. The domain name(s) may be parsed into oneor more words that may be from one or more languages and/or used morecommonly in one or more geographical regions. Further, the spelling ofthe words and characters in the domain name may all be used to determinea language, and thus possibly a geographic region, that is consistentwith the domain name. In addition, the top-level domain (TLD or domainname extension) may also be analyzed as certain top-level domains (andcertainly country code top-level domains (ccTLD)) are more commonly usedin some countries (or geographic regions) than in other countries (orgeographic regions). All of these factors may be used to select ahosting location 110, 120 for the website 115. (Step 400)

FIG. 6 illustrates additional steps that may be performed with theembodiment illustrated in FIG. 4. In this embodiment, a second businessinformation 104 may be collected at a second time, by the one or morehardware servers 101, regarding the hosting customer 130. (Step 500) Asexamples, the second business information 104 may comprise informationreceived when the hosting customer 130 updated the hosting customer's130 account, such as by changing the hosting customer's 130 businessaddress or information received regarding a new marketing campaign aimedat customers (Internet users 140) that reside closer to the secondhosting location 120 than the first hosting location 110. Additionalbusiness information 104 may be collected continuously, periodically(such as daily) or whenever a trigger event occurs (such as the hostingcustomer 130 updating the hosting customer's account 103 information) ormaking a sale to a particular locale. The business information 104 maybe stored in a database 160. All of these factors may be used to selecta hosting location 110, 120 for the website 115.

Based, at least in part, on the second business information 104, asecond hosting location 120 may be selected that is different from thefirst hosting location 110. (Step 501) The website 115 may either bereplicated (left in two or more hosting locations 110, 120) or moved soas to be hosted on one or more hosting servers 170 at the second hostinglocation 120 as shown in FIG. 3. (Step 502)

In some embodiments, the business information 104 may comprise a domainname registered to the hosting customer 130. The domain name,particularly if the domain name resolves (points to) the website 115,may be used to select a hosting location 110, 120 out of a plurality ofhosting locations. Domain name(s) registered to the hosting customer 130that do not resolve to the website 115 may either be ignored or alsoanalyzed as part of the business information 104. Domain name(s) thatresolves to the website 115 may be analyzed by looking at the words,spelling of the words and/or the characters in the domain name as wellas the top level domain (domain name extension) to determine a languageor geographical region that is consistent with the domain name.

In some embodiments, the business information 104 may comprise a type ofbusiness associated with the website 115. The type of business may referto whether the business is local, i.e., serves mainly local customers,such as a restaurant, dry cleaner, auto mechanic, etc. or whether thebusiness is non-localized, i.e., serves customers from many locations,such as manufacturers and/or distributors that sell shippablegoods/products or websites that offer Software as a Service (SaaS)products. A local business may be weighted to have its hosting location110, 120 for its website 115 near its place of business. In contrast, anon-localized business may be weighted to have its hosting location 110,120 for its website 115 near where most of its web traffic floworiginates from, i.e., where most of its customers (Internet users 140)are located.

FIG. 7 illustrates another embodiment of the invention. In thisembodiment, the hosting provider 100 may collect website traffic data180 to the website 115 to determine where most of the incoming trafficoriginates from and/or a second business information 104. (Step 600) Thedecision on whether to move the website 115 and, if the website 115 isto be move, where the new hosting location 110, 120 should be, may bebased, at least in part, on the website traffic data 180 to the website115. In some embodiments, the first and/or second hosting locations 110,120 may be determined based on a combination of business information 104and website traffic data 180 to the website 115. (Step 601)

Various embodiments of the present invention may be embodied in manydifferent forms, including, but in no way limited to, computer programlogic for use with a processor (e.g., a microprocessor, microcontroller, digital signal processor, server computer, or generalpurpose computer), programmable logic for use with a programmable logicdevice (e.g., a Field Programmable Gate Array (FPGA) or other PLD),discrete components, integrated circuitry (e.g., an Application SpecificIntegrated Circuit (ASIC)), or any other means including any combinationthereof.

Computer program logic implementing all or part of the functionalitypreviously described herein may be embodied in various forms, including,but in no way limited to, a source code form, a computer executableform, and various intermediate forms (e.g., forms generated by anassembler, compiler, linker, or locator). Source code may include aseries of computer program instructions implemented in any of variousprogramming languages (e.g., an object code, an assembly language, or ahigh-level language such as C, C++, or JAVA) for use with variousoperating systems or operating environments. The source code may defineand use various data structures and communication messages. The sourcecode may be in a computer executable form (e.g., via an interpreter), orthe source code may be converted (e.g., via a translator, assembler, orcompiler) into a computer executable form.

The computer program may be fixed in any form (e.g., source code form,computer executable form, or an intermediate form) in a tangible storagemedium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM,EEPROM, or Flash-Programmable memory), a magnetic memory device (e.g., adiskette or fixed disk), an optical memory device (e.g., a CD-ROM), a PCcard (e.g., PCMCIA card), or other memory device. The computer programmay be distributed in any form as a removable storage medium withaccompanying printed or electronic documentation (e.g., shrink wrappedsoftware), preloaded with a computer system (e.g., on system ROM orfixed disk), or distributed from a server or electronic bulletin boardover the communication system (e.g., the Internet or World Wide Web).

Hardware logic (including programmable logic for use with a programmablelogic device) implementing all or part of the functionality previouslydescribed herein may be designed using traditional manual methods, ormay be designed, captured, simulated, or documented electronically usingvarious tools, such as Computer Aided Design (CAD), a hardwaredescription language (e.g., VHDL or AHDL), or a PLD programming language(e.g., PALASM, ABEL, or CUPL).

Programmable logic may be fixed either permanently or temporarily in atangible storage medium, such as a semiconductor memory device (e.g., aRAM, ROM, PROM, EEPROM, or Flash-Programmable memory), a magnetic memorydevice (e.g., a diskette or fixed disk), an optical memory device (e.g.,a CD-ROM), or other memory device. The programmable logic may bedistributed as a removable storage medium with accompanying printed orelectronic documentation (e.g., shrink wrapped software), preloaded witha computer system (e.g., on system ROM or fixed disk), or distributedfrom a server or electronic bulletin board over the communication system(e.g., the Internet or World Wide Web).

The present disclosure describes preferred embodiments with reference tothe Figures, in which like numbers represent the same or similarelements. Reference throughout this specification to “one embodiment,”“an embodiment,” or similar language means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one embodiment of the present invention. Thus,appearances of the phrases “in one embodiment,” “in an embodiment,” andsimilar language throughout this specification may, but do notnecessarily, all refer to the same embodiment.

The described features, structures, or characteristics of the inventionmay be combined in any suitable manner in one or more embodiments. Inthe description, numerous specific details are recited to provide athorough understanding of embodiments of the invention. One skilled inthe relevant art will recognize, however, that the invention may bepracticed without one or more of the specific details, or with othermethods, components, materials, and so forth. In other instances,well-known structures, materials, or operations are not shown ordescribed in detail to avoid obscuring aspects of the invention.

The schematic flow chart diagrams included are generally set forth aslogical flow-chart diagrams. As such, the depicted order and labeledsteps are indicative of one embodiment of the presented method. Othersteps and methods may be conceived that are equivalent in function,logic, or effect to one or more steps, or portions thereof, of theillustrated method. Additionally, the format and symbols employed areprovided to explain the logical steps of the method and are understoodnot to limit the scope of the method. Although various arrow types andline types may be employed in the flow-chart diagrams, they areunderstood not to limit the scope of the corresponding method. Indeed,some arrows or other connectors may be used to indicate only the logicalflow of the method. For instance, an arrow may indicate a waiting ormonitoring period of unspecified duration between enumerated steps ofthe depicted method. Additionally, the order in which a particularmethod occurs may or may not strictly adhere to the order of thecorresponding steps shown. Some embodiments provided for are describedas computer-implemented method claims. However, one of ordinary skill inthe art would realize that the method steps may be embodied as computercode and the computer code could be placed on a tangible, non-transitorycomputer readable medium defining a computer program product.

Although the above discussion discloses various exemplary embodiments ofthe invention, it should be apparent that those skilled in the art canmake various modifications that will achieve some of the advantages ofthe invention without departing from the true scope of the invention.

The Abstract accompanying this specification is provided to enable theUnited States Patent and Trademark Office and the public generally todetermine quickly from a cursory inspection the nature and gist of thetechnical disclosure and is in no way intended for defining,determining, or limiting the present invention or any of itsembodiments.

The invention claimed is:
 1. A method, comprising: identifying, by ahardware server, a first hosting location from a plurality of hostinglocations based, at least in part, on source locations of networktraffic accessing a website; and transmitting, by the hardware server, auser interface to a user recommending that at least a portion of thewebsite be transferred to a second hardware server located in the firsthosting location.
 2. The method of claim 1, including: receiving, by thehardware server and through the user interface, a message encoding anapproval or a selection of the first hosting location in the firsthosting location; and transmitting, by the hardware server, at least aportion of the website to the second hardware server located in thefirst hosting location.
 3. The method of claim 1, wherein identifyingthe first hosting location from a plurality of hosting locationsincludes: identifying global positioning system coordinates for each ofa plurality of Internet Protocol (IP) addresses associated with thenetwork traffic accessing the website.
 4. The method of claim 3, whereinidentifying the first hosting location from a plurality of hostinglocations includes: identifying a geographic center of the plurality ofIP addresses; and identifying the first hosting location based upon thegeographic center of the plurality of IP addresses.
 5. The method ofclaim 1, wherein: the user interface includes a user selectable optionto either move or replicate the at least a portion of the website to thefirst hosting location.
 6. The method of claim 1, wherein identifyingthe first hosting location is based, at least in part, on informationreceived when a hosting customer updated a customer account.
 7. Themethod of claim 1, wherein identifying the first hosting location isbased, at least in part, on information received when a hosting customerchanged a business address in a customer account.
 8. A method,comprising: determining, by a hardware server, a first hosting locationfrom a plurality of hosting locations based, at least in part, on afirst business information in a customer record; and hosting at least aportion of a content of a website associated with the customer record onone or more hosting servers at the first hosting location.
 9. The methodof claim 8, including: determining a second hosting location differentfrom the first hosting location based, at least in part, on secondbusiness information in the customer record; and hosting the at least aportion of the content of the website on a second one or more hostingservers at the second hosting location.
 10. The method of claim 9,wherein the second hosting location is based, at least in part, oninformation received when a hosting customer updated the customerrecord.
 11. The method of claim 9, wherein the second hosting locationis based, at least in part, on information received when a hostingcustomer changed a business address in the second business information.12. The method of claim 9, wherein the second business informationidentifies a location of a plurality of customers of a business of ahosting customer.
 13. The method of claim 9, wherein the second hostinglocation is based, at least in part, on a new marketing campaign for ahosting customer aimed at a plurality of customers that reside closer tothe second hosting location than the first hosting location.
 14. Themethod of claim 8, wherein first hosting location is based, at least inpart, on a top level domain of a domain name registered by a hostingcustomer.
 15. A system, comprising: a server computer including aprocessor configured to perform the steps of: identifying, by a hardwareserver, a first hosting location from a plurality of hosting locationsbased, at least in part, on source locations of network trafficaccessing a website; and transmitting, by the hardware server, a userinterface to a user recommending that at least a portion of the websitebe transferred to the first hosting location.
 16. The system of claim15, wherein the processor is configured to perform the steps of:receiving, by the hardware server and through the user interface, amessage encoding an approval or a selection of the first hostinglocation in the first hosting location; and transmitting, by thehardware server, at least a portion of the website to a second hardwareserver located in first hosting location.
 17. The system of claim 15,wherein the processor is configured to perform the steps of: identifyingglobal positioning system coordinates for each of a plurality ofInternet Protocol (IP) addresses associated with the network trafficaccessing the website.
 18. The system of claim 17, wherein the processoris configured to perform the steps of: identifying a geographic centerof the plurality of IP addresses; and identifying the first hostinglocation based upon the geographic center of the plurality of IPaddresses.
 19. The system of claim 15, wherein: the user interfaceincludes a user selectable option to either move or replicate the atleast a portion of the website to the first hosting location.
 20. Thesystem of claim 15, wherein identifying the first hosting location isbased, at least in part, on information received when a hosting customerupdated a customer account.